// subChat/randomSel/random_sel.js
import Dialog from '@vant/weapp/dialog/dialog';
const appg = getApp().globalData
import {
  shuffleArray
} from '../../utils/util';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    chat_id: null,
    degList: [],
    userList: [],
    chooseUserList: [],
    isSel: false, //是否开始选人
    overlay: false, //遮罩层
  },
  // 获取群聊里有谁
  async getGroupChatUserList() {
    try {
      const json = await getApp().$axios("/getGroupChatUserList", "POST", {
        chai_id: this.data.chat_id
      })
      if (json.status !== 200) {
        wx.showToast({
          title: json.data,
          icon: 'none'
        })
        return
      }
      // 过滤老师即群聊创建人
      const filterJson = json.data.rows.filter((item) => {
        return item.user_info.identity_ID != 2
      })

      this.setData({
        userList: filterJson
      })
    } catch (error) {
      wx.showToast({
        title: error.msg,
        icon: 'error'
      })
    }
  },
  // 开始随机选人
  onRandom_sel() {
    for (let index = 0; index < this.data.userList.length; index++) {
      this.data.degList[index] = 180
    }

    this.setData({
      degList: this.data.degList,
      overlay: !this.data.overlay,
    })
    setTimeout(() => {
      this.setData({
        overlay: false,
        isSel: true
      })
      // 打乱
      const newList = shuffleArray(this.data.userList)
      this.setData({
        userList: newList
      })
      wx.showModal({
        title: '',
        content: '顺序已打乱，请选择~',
        complete: (res) => {
          if (res.cancel) {

          }

          if (res.confirm) {

          }
        }
      })
    }, 1000)
  },
  // 选择人
  choose(e) {
    console.log(e);
    let {
      info,
      index
    } = e.currentTarget.dataset
    this.setData({
      ['degList[' + index + ']']: 0,
      chooseUserList: [...this.data.chooseUserList, info]
    })
  },
  // 确认选中这几个人
  onConfirmChoose() {
    console.log(this.data.chooseUserList);
    let name = ''
    this.data.chooseUserList.forEach(item => {
      name += item.user_info.username + ',';
    });
    Dialog.alert({
      message: `恭喜你选中了！${name}同学`,
    }).then(async () => {
      // on close
      // 发送并回到班群聊天页 
      const res = await getApp().$axios('/addSignMessage', "POST", {
        chat_ID: this.data.chat_id,
        uid: appg.userInfo.id,
        msg_type: 2,
        msg_content: JSON.stringify(this.data.chooseUserList),
      })
      if (res.status!==200) {
        wx.showToast({
          title: '服务器出问题。请重试',
          icon:'none'
        })
        return
      }
      wx.navigateBack({
        delta:1
      })
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      chat_id: options.chat_id
    })
    this.getGroupChatUserList()
    // 根据数组长度生成旋转度数
    for (let index = 0; index < this.data.userList.length; index++) {
      this.data.degList.push(0)
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})